package me.zhengjie.modules.management.service.dto;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import me.zhengjie.modules.management.domain.MrMaterialDtl;

import javax.persistence.Transient;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "教室预详细信息（带物资列表）", description = "教室预详细信息（带物资列表）")
public class RecordDto {

    @ApiModelProperty(value = "ID")
    private Integer recordId;

    @ApiModelProperty(value = "教室ID")
    public Integer roomId;

    @ApiModelProperty(value = "教室名称")
    public String roomName;

    @ApiModelProperty(value = "会议名称")
    public String subject;

    @ApiModelProperty(value = "教室类型ID")
    public Integer typeId;

    @ApiModelProperty(value = "用途名称（会议类型）")
    public String purposeName;

    @ApiModelProperty(value = "参会人数")
    public Integer userNumber;

    @ApiModelProperty(value = "申请人ID")
    public Integer applicantId=null;

    @ApiModelProperty(value = "申请者工号")
    public String applicant=null;

    @ApiModelProperty(value = "其他需求")
    public String otherRemark;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") // 出参格式化
    @ApiModelProperty(value = "开始时间")
    public Timestamp beginDate;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8") // 出参格式化
    @ApiModelProperty(value = "结束时间")
    public Timestamp endDate;

    @ApiModelProperty(value = "实际开始时间")
    public Timestamp realBeginDate;

    @ApiModelProperty(value = "实际结束时间")
    public Timestamp realEndDate;

    @ApiModelProperty(value = "审批状态")
    public Boolean approvalStatus=false;

    @ApiModelProperty(value = "是否完成准备:0 未完成， 1 完成")
    public Boolean isReady=false;

    @ApiModelProperty(value = "状态")
    public Integer status=2;

    @ApiModelProperty(value = "状态名称")
    public String statusName;

    @ApiModelProperty(value = "物资费用")
    public BigDecimal materialsCost;

    @ApiModelProperty(value = "会议室能源费用")
    public BigDecimal roomCost;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 出参格式化
    @ApiModelProperty(value = "创建时间")
    public Timestamp createDateTime;

    @ApiModelProperty(value = "创建人工号")
    public String createUserId;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") // 出参格式化
    @ApiModelProperty(value = "修改时间")
    public Timestamp modifyDateTime;

    @ApiModelProperty(value = "修改人工号")
    public String modifyUserId;

    @ApiModelProperty(value = "申请原因")
    public String memo;

    @ApiModelProperty(value = "短号")
    public String extNo;

    @ApiModelProperty(value = "来源编号")
    public Integer sourceRecordId;

    @ApiModelProperty(value = "申请人姓名")
    @Transient
    private String applicantName;

    @ApiModelProperty(value = "申请部门名称")
    public String deptName;

    @ApiModelProperty(value = "测试字段1")
    public String showStartDate=null;

    @ApiModelProperty(value = "测试字段2")
    public String showStartTime=null;

    @ApiModelProperty(value = "物资详细列表")


    private List<MrRecordDtlDto> mrRecordDtlDto;

    private List<MrMaterialDtl> mrMaterialDtls;

}
